package com.xxx.ecxception;

/**
 * @version v1.0
 * @Description
 * @Author admin
 * @date 2021/7/16  10:23
 * @Copyright
 */
public class Exceptioin01 {
    /*
    1.throw抛异常对象
    2.throws在方法的声明处抛出异常类哦，可以抛出多个（用逗号隔开）

    * 异常分类：
    * 1.编译时被检测异常(编译时异常)：
    *   Exception及其子类(除去RuntimeException及其子类，这种异常在编译时被检测，可以进行相应的处理)
    * 2.编译时不检测异常(运行时异常)：
    *   RuntimeException及其子类，这种异常直接编译通过，在运行时发生，无法让程序继续运行
    *
    *
    * */



    public static void main(String[] args) throws FxException {
        int[] arr = new int[5];
       // System.out.println(arr[5]);
       //arr=null;
        method(arr,5);
    }

    public static void method(int[] arr,int index) throws FxException{
        if (arr == null) {
            throw   new NullPointerException("空指针异常");
        }
        if (index >= arr.length) {
            throw  new ArrayIndexOutOfBoundsException("下标越界异常");
        }

        if (index < 0) {
            throw new FxException("不能传负数");

        }
        System.out.println(arr[index]);
        System.out.println("abc");
    }
}
